home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / fdate41a.zip / FDATEX.BAT < prev    next >
DOS Batch File  |  1992-01-03  |  24KB  |  643 lines

  1. @ECHO off
  2. BREAK ON
  3. for %%v in (in get func strings timer absdates ly errmsg) do if (%%v)==(%1) goto %1
  4. FOR %%V IN (IN GET FUNC STRINGS TIMER ABSDATES LY ERRMSG) DO IF (%%V)==(%1) GOTO %1
  5. CLS
  6. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  7. echo ║         FDATEX: Demonstration batch file for FDATE                          ║
  8. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  9. echo.
  10. echo.
  11. echo This batch file uses ANSI.SYS to control the appearance and color
  12. echo of some of the headings.
  13.  
  14. echo.
  15. echo If you do not have ANSI.SYS installed, you may see garbage on the
  16. echo screen next to some of the headings, such as the one at the top of
  17. echo this screen, but the batch file will work correctly otherwise.
  18.  
  19. echo.
  20. echo ───────────────────────────────────────────────────────────────────────────────
  21. echo.
  22. PAUSE
  23.  
  24. CLS
  25. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  26. echo ║                 TEST HELP SCREEN                                            ║
  27. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  28. PAUSE
  29. cls
  30. FDATE
  31. PAUSE
  32. ECHO ON
  33.  
  34. @echo off
  35. CLS
  36. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  37. echo ║                TEST   OUTPUT FORMATS (#1)                                   ║
  38. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  39. @echo on
  40. FDATE /Ff /At /Occyymmdd
  41. FDATE /Ff /At /Occyy
  42. FDATE /Ff /At /Oyymmdd
  43. FDATE /Ff /At /Ommdd
  44. FDATE /Ff /At /Odd-mn3-yy
  45. FDATE /Ff /At /Odd-mn3-yy /Lfr
  46. @echo off
  47. @PAUSE
  48.  
  49. CLS
  50. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  51. echo ║                TEST   OUTPUT FORMATS (#2)                                   ║
  52. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  53. @echo on
  54. FDATE /Ff /At /Omm-dd-ccyy
  55. FDATE /Ff /At /Ozm-zd-ccyy
  56. FDATE /Ff /At /Omm/dd/ccyy
  57. FDATE /Ff /At /Ozm/zd/ccyy
  58. @echo off
  59. PAUSE
  60.  
  61. CLS
  62. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  63. echo ║                TEST   OUTPUT FORMATS (#3)                                   ║
  64. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  65. @echo on
  66. FDATE /Ff /At /Odow#
  67. FDATE /Ff /At /Odow
  68. FDATE /Ff /At /Odow      /Lfr
  69. FDATE /Ff /At /Odow3
  70. FDATE /Ff /At /Odow3 /Lfr
  71. @echo off
  72. PAUSE
  73.  
  74. CLS
  75. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  76. echo ║                TEST   OUTPUT FORMATS (#4)                                   ║
  77. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  78. @echo on
  79. FDATE /Ff /At /O"mn zd, ccyy"
  80. FDATE /Ff /At /O"mn zd, ccyy"      /Lfr
  81. FDATE /Ff /At /O"mn3 dd ccyy"
  82. FDATE /Ff /At /O"mn3 dd ccyy"      /Lfr
  83. FDATE /Ff /At /O"mn3 dd, ccyy"
  84. FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
  85. @echo off
  86. PAUSE
  87.  
  88. CLS
  89. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  90. echo ║                TEST   OUTPUT FORMATS (#5)                                   ║
  91. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  92. @echo on
  93. FDATE /Ff /At /O"zd mn ccyy"
  94. FDATE /Ff /At /O"zd mn ccyy"      /Lfr
  95. FDATE /Ff /At /O"zd mn, ccyy"
  96. FDATE /Ff /At /O"zd mn, ccyy" /Lfr
  97. @echo off
  98. PAUSE
  99.  
  100. CLS
  101. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  102. echo ║                TEST   OUTPUT FORMATS (TIME)                                 ║
  103. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  104. @echo on
  105. FDATE /Ff /At /Ot1
  106. FDATE /Ff /At /Ohh:mm
  107. FDATE /Ff /At /Ohh:mm:ss
  108. @echo off
  109. PAUSE
  110.  
  111. CLS
  112. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  113. echo ║                TEST   OUTPUT FORMATS (DATE ABBREVIATIONS)                   ║
  114. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  115. @echo on
  116. FDATE /Ff /At /Od1
  117. FDATE /Ff /At /Od1       /Lfr
  118. FDATE /Ff /At /Ofull
  119. FDATE /Ff /At /Ofull /Lfr
  120. FDATE /Ff /At /Oly /P"Leap-year flag (0=normal, 1=leapyear): "
  121. @echo off
  122. PAUSE
  123.  
  124. CLS
  125. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  126. echo ║                TEST   OUTPUT FORMATS ("JULIAN" OUTPUTS)                     ║
  127. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  128. @echo on
  129. FDATE /Ff /At /Oday#     /P"Absolute date : "
  130. FDATE /Ff /At /Ominute#  /P"Julian minutes: "
  131. FDATE /Ff /At /Osecond#  /P"Julian seconds: "
  132. FDATE /Ff /At /Ojulian   /P"Julian date is: "
  133. @echo off
  134. PAUSE
  135.  
  136. :IN
  137. CLS
  138. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  139. echo ║                TEST   INPUT  FORMATS                                        ║
  140. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  141. echo.
  142. @echo TEST PSEUDO-DATES   /AT  (/ATODAY)
  143. @echo ─────────────────────────────────────────────────────────────────
  144. @echo on
  145. FDATE /Ff /Atoday /Od1
  146. FDATE /Ff /At     /Od1
  147. @Pause
  148. cls
  149. @ECHO TEST PSEUDO-DATES     /ICCYYMMDD
  150. @echo ─────────────────────────────────────────────────────────────────
  151. FDATE /Ff /Atttt1126  /Iccyymmdd   /Od1
  152. FDATE /Ff /A1991tt26  /Iccyymmdd   /Od1
  153. FDATE /Ff /A199211tt  /Iccyymmdd   /Od1
  154. FDATE /Ff /Atttttttt  /Iccyymmdd   /Od1
  155. @Pause
  156. cls
  157. @ECHO TEST PSEUDO-DATES     /IMM-DD-CCYY
  158. @echo ─────────────────────────────────────────────────────────────────
  159. FDATE /Ff /A11-26-tttt /Imm-dd-ccyy /Od1
  160. FDATE /Ff /A11-tt-1992 /Imm-dd-ccyy /Od1
  161. FDATE /Ff /Att-26-1992 /Imm-dd-ccyy /Od1
  162. FDATE /Ff /Att-tt-tttt /Imm-dd-ccyy /Od1
  163. @Pause
  164. cls
  165. @ECHO TEST PSEUDO-DATES     /IMM-DD-YY
  166. @echo ─────────────────────────────────────────────────────────────────
  167. FDATE /Ff /A11-26-tt /Imm-dd-yy /Od1
  168. FDATE /Ff /A11-tt-92 /Imm-dd-yy /Od1
  169. FDATE /Ff /Att-26-92 /Imm-dd-yy /Od1
  170. FDATE /Ff /Att-tt-tt /Imm-dd-yy /Od1
  171. @PAUSE
  172.  
  173. CLS
  174. @echo TEST INPUT FORMATS
  175. @echo ─────────────────────────────────────────────────────────────────
  176. FDATE /Ff /Imm-dd-ccyy /A12-07-1991 /Od1
  177. FDATE /Ff /Imm-dd-yy   /A12-07-91   /Od1
  178. FDATE /Ff /Iccyymmdd   /A19911207   /Od1
  179. @PAUSE
  180.  
  181. CLS
  182. @echo TEST INPUT FORMATS (only YY specified, CC assumed.)
  183. @echo ─────────────────────────────────────────────────────────────────
  184. FDATE /Ff /Imm-dd-yy   /A12-07-00   /Od1
  185. FDATE /Ff /Imm-dd-yy   /A12-07-10   /Od1
  186. FDATE /Ff /Imm-dd-yy   /A12-07-19   /Od1
  187. FDATE /Ff /Imm-dd-yy   /A12-07-20   /Od1
  188. FDATE /Ff /Imm-dd-yy   /A12-07-21   /Od1
  189. FDATE /Ff /Imm-dd-yy   /A12-07-91   /Od1
  190. @PAUSE
  191.  
  192. CLS
  193. @echo off
  194. @echo TEST INPUT FORMATS HANDLING LEADING ZEROS
  195. @echo ─────────────────────────────────────────────────────────────────
  196. FDATE /Ff /Imm-dd-yy /A06-06-66     /Od1
  197. FDATE /Ff /Imm-dd-yy /A6-06-66      /Od1
  198. FDATE /Ff /Imm-dd-yy /A06-6-66      /Od1
  199. FDATE /Ff /Imm-dd-yy /A6-6-66       /Od1
  200. FDATE /Ff /Imm-dd-ccyy /A06-06-0001 /Od1
  201. FDATE /Ff /Imm-dd-ccyy /A6-06-0001  /Od1
  202. FDATE /Ff /Imm-dd-ccyy /A06-6-0001  /Od1
  203. FDATE /Ff /Imm-dd-ccyy /A6-6-0001   /Od1
  204. @PAUSE
  205.  
  206. @echo on
  207.  
  208. CLS
  209. @echo TEST /P (PREFIX) PARAMETER
  210. @echo ─────────────────────────────────────────────────────────────────
  211. FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
  212. FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
  213. @echo.
  214. set  FDATE=
  215. FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
  216. call FDATJUNK.BAT
  217. @Echo off
  218. del FDATJUNK.BAT
  219. ECHO Value of FDATE environment variable is: %FDATE%
  220. set  FDATE=
  221. PAUSE
  222.  
  223. CLS
  224. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  225. echo ║                TEST   END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0)           ║
  226. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  227. @echo off
  228. fdate /ff /imm-dd-ccyy /oD1     /a01-29-1992
  229. fdate /ff /imm-dd-ccyy /oD1     /a01-30-1992
  230. fdate /ff /imm-dd-ccyy /oD1     /a01-31-1992
  231. fdate /ff /imm-dd-ccyy /oD1     /a02-29-1992
  232. fdate /ff /imm-dd-ccyy /oD1     /a02-30-1992
  233. fdate /ff /imm-dd-ccyy /oD1     /a02-31-1992
  234. @echo off
  235. PAUSE
  236.  
  237. :func
  238. CLS
  239. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  240. echo ║                TEST   FUNCTIONS                                             ║
  241. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  242. @echo on
  243. @echo.
  244. @echo TEST FUNCTION: F (FORMAT)
  245. @echo ─────────────────────────────────────────────────────────────────
  246. FDATE /Fformat /At /Od1
  247. FDATE /Ff      /At /Od1
  248. @PAUSE
  249. @echo off
  250. CLS
  251. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
  252. @echo ─────────────────────────────────────────────────────────────────
  253. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-25-1992: "
  254. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-25-1992: "
  255. FDATE /Ff /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-25-1992: "
  256. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N1  /Od1 /P"1st Thursday after  11-25-1992: "
  257. FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N2  /Od1 /P"2nd Thursday after  11-25-1992: "
  258. @PAUSE
  259. @CLS
  260. @echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
  261. @echo ─────────────────────────────────────────────────────────────────
  262. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-26-1992: "
  263. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-26-1992: "
  264. FDATE /Ff /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-26-1992: "
  265. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N1  /Od1 /P"1st Thursday after  11-26-1992: "
  266. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N2  /Od1 /P"2nd Thursday after  11-26-1992: "
  267. @PAUSE
  268. @echo off
  269. @CLS
  270. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  271. echo ║                TEST   /FW-RELATED ERROR MESSAGES                            ║
  272. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  273. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N0   /Od1 /P" 0th Thursday after 11-26-1992: "
  274. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N99  /Od1 /P"99th Thursday after 11-26-1992: "
  275. FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-99 /Od1 /P"99th Thursday before 11-26-1992: "
  276. @PAUSE
  277.  
  278. CLS
  279. @echo TEST COMP (DATE COMPARE) FUNCTION
  280. @echo ─────────────────────────────────────────────────────────────────
  281. @echo ON
  282. Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1991
  283. Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1992
  284. Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1993
  285. @PAUSE
  286.  
  287. CLS
  288. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  289. @echo ─────────────────────────────────────────────────────────────────
  290. FDATE /Fdif /At /Bt
  291. FDATE /Fdif /At /B01-01-1990 /Imm-dd-ccyy
  292. FDATE /Fdif /A01-01-1990 /Bt /Imm-dd-ccyy
  293. FDATE /Fdif /A12-31-0008 /B01-01-0009 /Imm-dd-ccyy
  294. FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
  295. FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
  296. @PAUSE
  297.  
  298. CLS
  299. @echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
  300. @echo ─────────────────────────────────────────────────────────────────
  301. FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
  302. FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
  303. FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
  304. FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
  305. FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
  306. @PAUSE
  307.  
  308. @echo off
  309. CLS
  310. echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
  311. echo ───────────────────────────────────────────────────────────────────────────────
  312. echo on
  313. FDATE /Fadd /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
  314. FDATE /Fadd /N1 /At  /Od1 /P"Tomorrow will be "
  315. FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
  316. @PAUSE
  317.  
  318. CLS
  319. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  320. @echo ─────────────────────────────────────────────────────────────────
  321. FDATE /Fadd /N1 /A12-31-0003 /Imm-dd-ccyy /Omm-dd-ccyy
  322. FDATE /Fadd /N1 /A12-31-0099 /Imm-dd-ccyy /Omm-dd-ccyy
  323. FDATE /Fadd /N1 /A12-31-0399 /Imm-dd-ccyy /Omm-dd-ccyy
  324. FDATE /Fadd /N1 /A12-31-1899 /Imm-dd-ccyy /Omm-dd-ccyy
  325. FDATE /Fadd /N1 /A12-31-1999 /Imm-dd-ccyy /Omm-dd-ccyy
  326. @PAUSE
  327.  
  328. CLS
  329. @echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
  330. @echo ─────────────────────────────────────────────────────────────────
  331. FDATE /Fadd /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  332. FDATE /Fadd /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  333. FDATE /Fadd /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  334. FDATE /Fadd /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  335. FDATE /Fadd /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  336. @PAUSE
  337.  
  338. CLS
  339. @echo TEST SUB
  340. @echo ─────────────────────────────────────────────────────────────────
  341. FDATE /Fsub /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
  342. FDATE /Fsub /N1 /At  /Od1 /P"Yesterday was "
  343. FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
  344. @PAUSE
  345.  
  346. CLS
  347. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
  348. @echo ─────────────────────────────────────────────────────────────────
  349. FDATE /Fsub /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  350. FDATE /Fsub /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  351. FDATE /Fsub /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  352. FDATE /Fsub /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  353. FDATE /Fsub /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  354. @PAUSE
  355.  
  356. CLS
  357. @echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
  358. @echo ─────────────────────────────────────────────────────────────────
  359. FDATE /Fsub /N1 /A01-01-0004 /Imm-dd-ccyy /Omm-dd-ccyy
  360. FDATE /Fsub /N1 /A01-01-0100 /Imm-dd-ccyy /Omm-dd-ccyy
  361. FDATE /Fsub /N1 /A01-01-0400 /Imm-dd-ccyy /Omm-dd-ccyy
  362. FDATE /Fsub /N1 /A01-01-1900 /Imm-dd-ccyy /Omm-dd-ccyy
  363. FDATE /Fsub /N1 /A01-01-2000 /Imm-dd-ccyy /Omm-dd-ccyy
  364. @PAUSE
  365.  
  366. CLS
  367. @echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
  368. @echo ─────────────────────────────────────────────────────────────────
  369. FDATE /Fsub /N1 /A01-01-0005 /Imm-dd-ccyy /Omm-dd-ccyy
  370. FDATE /Fsub /N1 /A01-01-0101 /Imm-dd-ccyy /Omm-dd-ccyy
  371. FDATE /Fsub /N1 /A01-01-0401 /Imm-dd-ccyy /Omm-dd-ccyy
  372. FDATE /Fsub /N1 /A01-01-1901 /Imm-dd-ccyy /Omm-dd-ccyy
  373. FDATE /Fsub /N1 /A01-01-2001 /Imm-dd-ccyy /Omm-dd-ccyy
  374. @PAUSE
  375.  
  376. :errmsg
  377. CLS
  378. @echo TEST ERROR MESSAGES
  379. @echo ─────────────────────────────────────────────────────────────────
  380. @echo on
  381. FDATE /Ff /At /Ojunktest
  382. FDATE /Ff /A18880101 /Ijunktest /Ominute#
  383. @PAUSE
  384.  
  385. CLS
  386. FDATE /Ff   /Iccyymmdd  /A18880101 /Ominute#
  387. FDATE /Ff   /Iccyymmdd  /A21010101 /Osecond#
  388. FDATE /Fsub /Iccyymmdd  /A00010101 /n1 /od1
  389. FDATE /Fadd /Iccyymmdd  /A99991231 /n1 /od1
  390. @PAUSE
  391.  
  392. CLS
  393. FDATE /Ff   /Imm-dd-ccyy /A01-01-xxxx    /Od1
  394. FDATE /Fadd /Imm-dd-ccyy /A01-01-1992 /N /Od1
  395. @PAUSE
  396.  
  397. CLS
  398. FDATE /Fdif /Imm-dd-ccyy /?01-01-1992 /B01-02-1992
  399. FDATE /Fdif /Imm-dd-ccyy /A01-01-1992 /?01-02-1992
  400. @PAUSE
  401.  
  402. CLS
  403. FDATE /Ff   /Imm-dd-yy   /A01-01-1       /Od1
  404. FDATE /Ff   /Imm-dd-yy   /A01-01-199     /Od1
  405. FDATE /Ff   /Imm-dd-ccyy /A01-01-199     /Od1
  406. FDATE /Ff   /Imm-dd-ccyy /A01-01-19922   /Od1
  407. @PAUSE
  408.  
  409. :LY
  410. CLS
  411. @echo on
  412. @echo TEST LEAPYR (#1)
  413. @echo ─────────────────────────────────────────────────────────────────
  414. FDATE /Ff /A01-01-0001 /Imm-dd-ccyy /Oly
  415. FDATE /Ff /A01-01-0004 /Imm-dd-ccyy /Oly
  416. FDATE /Ff /A01-01-0005 /Imm-dd-ccyy /Oly
  417. FDATE /Ff /A01-01-0100 /Imm-dd-ccyy /Oly
  418. FDATE /Ff /A01-01-0400 /Imm-dd-ccyy /Oly
  419. FDATE /Ff /A01-01-1600 /Imm-dd-ccyy /Oly
  420. @PAUSE
  421.  
  422. CLS
  423. @echo TEST LEAPYR (#2)
  424. @echo ─────────────────────────────────────────────────────────────────
  425. FDATE /Ff /A01-01-1900 /Imm-dd-ccyy /Oly
  426. FDATE /Ff /A01-01-1984 /Imm-dd-ccyy /Oly
  427. FDATE /Ff /A01-01-1991 /Imm-dd-ccyy /Oly
  428. FDATE /Ff /A01-01-1992 /Imm-dd-ccyy /Oly
  429. FDATE /Ff /A01-01-2000 /Imm-dd-ccyy /Oly
  430. @PAUSE
  431.  
  432. CLS
  433. @echo TEST "JULIAN" OUTPUT FORMATS
  434. @echo ─────────────────────────────────────────────────────────────────
  435. FDATE /Ff /At /Ojulian
  436. FDATE /Ff /At /Oday#
  437. FDATE /Ff /At /Ominute#
  438. FDATE /Ff /At /Osecond#
  439. FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
  440. FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
  441. @PAUSE
  442.  
  443. @ECHO off
  444. :ABSDATES
  445. CLS
  446. echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
  447. echo ─────────────────────────────────────────────────────────────────
  448. ECHO.
  449. FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Od1 /P"First day of year 0001: "
  450. FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Oday#
  451. ECHO.
  452. FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Od1 /P"First day of year 1900: "
  453. FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Oday#
  454. ECHO.
  455. FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Od1 /P"First day of year 1992: "
  456. FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Oday#
  457. ECHO.
  458. FDATE /Ff /At /Od1   /P"Today's calendar date : "
  459. FDATE /Ff /At /Oday# /P"Today's absolute date : "
  460. ECHO.
  461. FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Od1 /P"Last day of year 2000: "
  462. FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Oday#
  463. ECHO.
  464. FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Od1 /P"Last day of year 9999: "
  465. FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Oday#
  466. PAUSE
  467.  
  468. :GET
  469. CLS
  470. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  471. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET                 ║
  472. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  473. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  474. echo ║   If you do not have GET installed,                                         ║
  475. echo ║   you will see messages saying "Bad command of file name".                  ║
  476. echo ║   This is normal and nothing to worry about.                                ║
  477. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  478. @echo.
  479.  
  480. @echo on
  481. @set date1=
  482. @echo.
  483. FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
  484. @echo DATE1 environment variable is %DATE1%
  485. @set date1=
  486. @echo.
  487. FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
  488. @echo DATE1 environment variable is %DATE1%
  489. @set date1=
  490. @echo off
  491. @PAUSE
  492.  
  493. :STRINGS
  494. CLS
  495. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  496. echo ║       TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS             ║
  497. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  498. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  499. echo ║   If you do not have STRINGS installed,                                     ║
  500. echo ║   you will see messages saying "Bad command of file name".                  ║
  501. echo ║   This is normal and nothing to worry about.                                ║
  502. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  503. @echo.
  504.  
  505. @echo on
  506. @set date1=
  507. @echo.
  508. FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
  509. @echo DATE1 environment variable is %DATE1%
  510. @set date1=
  511. @echo.
  512. FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
  513. @echo DATE1 environment variable is %DATE1%
  514. @set date1=
  515. @echo.
  516. @echo off
  517. @PAUSE
  518.  
  519. @echo off
  520. CLS
  521. echo.
  522. echo The final demonstration uses the DOS "CALL" statement,
  523. echo so it requires DOS 3.3 or greater.
  524. echo.
  525. echo If you do not have DOS 3.3+,
  526. echo press Control-Break or Control-C now to stop execution of the batch file.
  527. echo.
  528. echo Otherwise,
  529. pause
  530.  
  531. :TIMER
  532. @echo off
  533. cls
  534. ECHO The demo will run for 1 - 60 seconds.
  535. echo.
  536. ECHO ────────────────────────────────────────────────────────────────────────
  537. ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
  538. echo.
  539. echo If you leave long batch files to run overnight, this techique can
  540. echo be used to record how long each program in the batch file ran.
  541. echo.
  542. echo The technique for setting the values of environment variables in this
  543. echo part of the demo uses temporary batch files and CALL statements.
  544. echo If you have a program such as GET or STRINGS, you can use it instead.
  545. ECHO ────────────────────────────────────────────────────────────────────────
  546. echo.
  547. PAUSE
  548. cls
  549.  
  550. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
  551.  
  552. REM  GET PROGRAM BEGIN TIME, IN MINUTES
  553. @set BegM=
  554. @set EndM=
  555. @set RunM=
  556. FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
  557. CALL FDATJUNK.BAT
  558.  
  559. REM  GET PROGRAM BEGIN TIME, IN SECONDS
  560. set BegS=
  561. set EndS=
  562. set RunS=
  563. FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
  564. CALL FDATJUNK.BAT
  565.  
  566. rem ───────────────────────────────────────────────────────────────
  567. rem [simulate execution of a program: loop for a minute or less]
  568. rem [In a real batch file, you would put your program statements here]
  569. rem ───────────────────────────────────────────────────────────────
  570. :BegLoop
  571.    FDATE /Ff /At /Osecond# /P"SET EndS=" >FDATJUNK.BAT
  572.    CALL FDATJUNK.BAT
  573.    FDATE /Ff /At /Ominute# /P"SET EndM=" >FDATJUNK.BAT
  574.    CALL FDATJUNK.BAT
  575.  
  576.    rem  calculate run time (difference between start time and end time)
  577.    FDATE /F#dif /A%EndM% /B%BegM% /P"SET RunM=" > FDATJUNK.BAT
  578.    CALL FDATJUNK.BAT
  579.  
  580.    rem  calculate run time (difference between start time and end time)
  581.    FDATE /F#dif /A%EndS% /B%BegS% /P"SET RunS=" > FDATJUNK.BAT
  582.    CALL FDATJUNK.BAT
  583.    echo      TESTPGM running, elapsed time: %RunS% seconds
  584.  
  585.    if (%RunM%)==()  goto EndLoop
  586.    if (%RunM%)==(0) goto BegLoop
  587. :EndLoop
  588. rem ───────────────────────────────────────────────────────────────
  589.  
  590. REM  GET PROGRAM END TIME IN SECONDS
  591. FDATE /Ff /At /Osecond# /P"SET EndS=" > FDATJUNK.BAT
  592. CALL FDATJUNK.BAT
  593.  
  594. REM  GET PROGRAM END TIME IN MINUTES
  595. FDATE /Ff /At /Ominute# /P"SET EndM=" > FDATJUNK.BAT
  596. CALL FDATJUNK.BAT
  597.  
  598. FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
  599. echo.
  600.  
  601. echo TESTPGM: Program end   time (Julian seconds): %EndS%
  602. echo TESTPGM: Program begin time (Julian seconds): %BegS%
  603. rem  calculate run time (difference between start time and end time)
  604. FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
  605. set BegS=
  606. set EndS=
  607.  
  608. echo.
  609. echo TESTPGM: Program end   time (Julian minutes): %EndM%
  610. echo TESTPGM: Program begin time (Julian minutes): %BegM%
  611. rem  calculate run time (difference between start time and end time)
  612. FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
  613. DEL  FDATJUNK.BAT
  614. set BegM=
  615. set EndM=
  616. set RunM=
  617. set RunS=
  618. echo.
  619. PAUSE
  620.  
  621. @echo off
  622. cls
  623. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  624. echo ║                     END OF FDATE TEST BATCH FILE                            ║
  625. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  626. echo.
  627. echo I hope that you have found this demo batch file helpful,
  628. echo and that you will find FDATE useful.
  629. echo.
  630. echo                         -- Stephen Ferg
  631. echo.
  632. echo.
  633. echo.
  634.  
  635.  
  636. if not exist holidays.bat goto endit
  637. echo ╔═════════════════════════════════════════════════════════════════════════════╗
  638. echo ║             READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE               ║
  639. echo ╚═════════════════════════════════════════════════════════════════════════════╝
  640. pause
  641. HOLIDAYS.BAT
  642. :ENDIT
  643.